# 序列化：使用文件来管理提示词模板
#
# - 便于共享
# - 便于版本管理
# - 便于存储
# - 支持常见格式(json/yaml/txt)

from langchain.prompts import load_prompt

#加载yaml格式的prompt模版
prompt = load_prompt("simple_prompt.yaml", encoding="utf-8")
print(prompt.format(name="小黑",what="恐怖的"))

#加载json格式的prompt模版
prompt = load_prompt("simple_prompt.json", encoding="utf-8")
print(prompt.format(name="小红",what="搞笑的"))

#支持加载文件格式的模版，并且对prompt的最终解析结果进行自定义格式化
# type待定
prompt = load_prompt("prompt_with_output_parser.json")
res = prompt.output_parser.parse(
    "George Washington was born in 1732 and died in 1799.\nScore: 1/2"
)

print(res)